package myzzyl.mapper;

import myzzyl.domain.dto.SysDeptDto;
import myzzyl.domain.pojo.SysDept;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import myzzyl.domain.vo.SysDeptVo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
* @author 33249
* @description 针对表【sys_dept(部门表)】的数据库操作Mapper
* @createDate 2025-08-13 14:33:54
* @Entity myzzyl.domain.pojo.SysDept
*/
public interface SysDeptMapper extends BaseMapper<SysDept> {

    List<SysDeptVo> selectSysDeptVo(@Param("dto") SysDeptDto dto);

    // 查询编号的所有子孙节点，返回最大层级
    @Select("select max(char_length(dept_no) - char_length(replace(dept_no, '.', '')))" +
            "from sys_dept where dept_no like concat(#{dept_no}, '%')")
    int countMaxLevel(String deptNo);
}




